package dao;

import java.util.ArrayList;
import java.util.List;
import entity.questions;
import util.DBUtil;
import util.StringUtils;

public class questionTypeDao {
	//添加问题
		public static int Addquestion(questions question) {
			String sql=String.format("insert into questions (question_text,option_a,option_b,option_c,option_d,correct_answer) values ('%s','%s','%s','%s','%s','%s')",
					question.getQuestion_text(),question.getOption_a(),question.getOption_b(),question.getOption_c(),question.getOption_d(),question.getCorrect_answer());
			int rs=DBUtil.executeupdate(sql);
			return rs;
			
		}
		
    
		/**	 * 根据题干关键字查询题目	 */
		// 在questionTypeDao.java中修改方法
//		public static List<questions> getQuestionsByKeyword(String keyword) {
//		    String sql = "SELECT * FROM questions";
//		    if (StringUtils.isNotEmpty(keyword)) {
//		        sql += " WHERE question_text LIKE '%" + keyword + "%'";
//		    }
//		    return DBUtil.selectT(questions.class, sql);
//		}
		// 专门用于查询问题的方法
		public static List<questions> getQuestionsByKeyword(String keyword) {
		    StringBuilder sql = new StringBuilder("SELECT * FROM questions");
		    List<Object> params = new ArrayList<>();
		    
		    // 更严格的关键字检查
		    if (keyword != null && !keyword.trim().isEmpty() && !keyword.trim().equals("%%")) {
		        sql.append(" WHERE question_text LIKE ?");
		        params.add("%" + keyword.trim() + "%");
		    }
		    
		    System.out.println("生成的SQL: " + sql);
		    System.out.println("参数值: " + params);
		    
		    return DBUtil.selectT(questions.class, sql.toString(), params.toArray());
		}
//查看查询结果
//    public static void main(String[] args) {
//        List<questions> questions = getQuestionsByKeyword(null);
//        
//        // 打印查询结果
//        if (questions == null || questions.isEmpty()) {
//            System.out.println("没有查询到题目");
//        } else {
//            System.out.println("查询到的题目数量: " + questions.size());
//            for (questions q : questions) {
//                System.out.println(q); // 这里会调用我们添加的toString()方法
//            }
//        }
//    }
    //删除的方法
	public static int Delquestion(Integer  typeId) {
		String sql=String.format("delete  from  questions  where  id=%d", typeId);
		int rs=DBUtil.executeupdate(sql);
		return rs;
		
	}
	// 更新问题
	public static int updateQuestion(questions question) {
	    String sql = String.format("UPDATE questions SET question_text='%s', option_a='%s', option_b='%s', " +
	            "option_c='%s', option_d='%s', correct_answer='%s', subject='%s' WHERE id=%d",
	            question.getQuestion_text(),
	            question.getOption_a(),
	            question.getOption_b(),
	            question.getOption_c(),
	            question.getOption_d(),
	            question.getCorrect_answer(),
	            question.getSubject(),
	            question.getId());
	    return DBUtil.executeupdate(sql);
	}
    
}